//
// @Auther: by wujehy 
// @Email:wujehy@qq.com
// @Data:2020/9/11
// @Time:2:06 下午
//
//

#ifndef GEEJOAN_BASE_TYPES_H
#define GEEJOAN_BASE_TYPES_H

#include <cstdio>

#define LOGINFO LOG(INFO)
#define LOGWARNING LOG(WARNING)
#define LOGERROR LOG(ERROR)
#define LOGFATAL LOG(FATAL)
#define LOGSEVERITIES LOG(SEVERITIES)
namespace GeeJoan
{

    class AppManager;

    class BaseNetwork;

    class ModManager;

    class ThreadPool;

/**
 * @brief 全局上下文 每个模块都有的成员 由最上层管理 初始化结束传递给所有对象
 */
    struct Global_Context
    {
        AppManager *appManager = nullptr;
        BaseNetwork *networkManager = nullptr;
//    NetWorkWarpper *netWorkWarpper = nullptr;
        ModManager *modManager = nullptr;
//    ListerManager *listerManager = nullptr;
//    DaoManager *daoManager = nullptr;
        ThreadPool *threadPool = nullptr;
    };
}
#endif //GEEJOAN_BASE_TYPES_H
